Ces données proviennent de Break Free from Plastic et sont fournies par Sarah Sauve. Elles illustrent les différentes émissions de plastiques de certains pays , leurs sources et les actions apportées.

Sarah a rédigé un blogue sur son approche de ces données, qui comprend le nettoyage des données et une application Shiny . Elle a découvert les audits de marque de “Break Free From Plastic” en s’impliquant dans la “Social Justice Cooperative of Newfoundland” and “Labrador’s Zero Waste Action Team”. Elle a téléchargé les données brutes de son Google Drive, et a pu rédiger un court script de nettoyage et de jointure des données.

Intallation des packages “tidytuesdayR” et “tidyverse”

Lancement de la library “tidyverse” ,“tidytuesdayR” et “kableExtra” et récupération des données

#install.packages("tidytuesdayR")
#install.packages("tidyverse")
#install.packages("dplyr")


library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.4     v dplyr   1.0.7
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(tidytuesdayR)
library(kableExtra)
## 
## Attachement du package : 'kableExtra'
## L'objet suivant est masqué depuis 'package:dplyr':
## 
##     group_rows
plastics <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2021/2021-01-26/plastics.csv')
## Rows: 13380 Columns: 14
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr  (2): country, parent_company
## dbl (12): year, empty, hdpe, ldpe, o, pet, pp, ps, pvc, grand_total, num_eve...
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.

Code de fusion des bases données

library(fs)

files_2020 <- fs::dir_ls(“2020 BFFP National Data Results”) %>% str_subset(“csv”)

files_2019 <- fs::dir_ls(“2019 Brand Audit Appendix _ Results by Country/Countries”) %>% str_subset(“csv”)

data_2020 <- files_2020 %>% map_dfr(read_csv, col_types = cols( Country = col_character(), Parent_company = col_character(), Empty = col_double(), HDPE = col_double(), LDPE = col_double(), O = col_double(), PET = col_double(), PP = col_double(), PS = col_double(), PVC = col_double(), Grand_Total = col_character(), num_events = col_double(), volunteers = col_double() )) %>% mutate(year = 2020, .after = Country) %>% mutate(Grand_Total = parse_number(Grand_Total)) %>% janitor::clean_names()

data_2019 <- files_2019 %>% set_names(str_replace(., “./[.].”, “\1”)) %>% map_dfr(read_csv, .id = “country”, col_types = cols( Country = col_character(), Parent_company = col_character(), Empty = col_double(), HDPE = col_double(), LDPE = col_double(), O = col_double(), PET = col_double(), PP = col_double(), PS = col_double(), PVC = col_double(), Grand_Total = col_double(), num_events = col_double(), volunteers = col_double() )) %>% select(country, everything()) %>% mutate(year = 2019, .after = country) %>% janitor::clean_names() %>% mutate(pp = if_else(is.na(pp_2), pp, pp_2 + pp), ps = if_else(is.na(ps_2), ps, ps + ps_2)) %>% rename(parent_company = parent_co_final, num_events = number_of_events, volunteers= number_of_volunteers) %>% select(-ps_2, -pp_2)

combo_data <- bind_rows(data_2019, data_2020)

combo_data %>% write_csv(“2021/2021-01-26/plastics.csv”)

Nettoyage de la base de données

Présentation des variables explicatives

Renommage des variables non-explicites

plastics <- plastics %>% 
  rename( Pays = country ,Année = year, Source_plastic = parent_company , Cat_vide= empty, Cat_autre= o ,Polyester= pet , Polypropylene = pp ,Polystyrene = ps , Nombre_even = num_events , Volontaires = volunteers )

Omission des valeurs manquantes de la base de données

plastique <- na.omit(plastics)

Présence de plusieurs variables manquantes. Usage de la fonction de “na.omit”.

Nous passons de 13380 à 6826 observations

Statistiques descriptives

summary(plastique)
##      Pays               Année      Source_plastic        Cat_vide        
##  Length:6826        Min.   :2019   Length:6826        Min.   :   0.0000  
##  Class :character   1st Qu.:2019   Class :character   1st Qu.:   0.0000  
##  Mode  :character   Median :2020   Mode  :character   Median :   0.0000  
##                     Mean   :2020                      Mean   :   0.6109  
##                     3rd Qu.:2020                      3rd Qu.:   0.0000  
##                     Max.   :2020                      Max.   :2208.0000  
##       hdpe               ldpe            Cat_autre         Polyester       
##  Min.   :   0.000   Min.   :    0.00   Min.   :    0.0   Min.   :    0.00  
##  1st Qu.:   0.000   1st Qu.:    0.00   1st Qu.:    0.0   1st Qu.:    0.00  
##  Median :   0.000   Median :    0.00   Median :    0.0   Median :    0.00  
##  Mean   :   4.147   Mean   :   13.09   Mean   :   36.4   Mean   :   26.43  
##  3rd Qu.:   0.000   3rd Qu.:    0.00   3rd Qu.:    2.0   3rd Qu.:    1.00  
##  Max.   :3728.000   Max.   :11700.00   Max.   :28055.0   Max.   :36226.00  
##  Polypropylene      Polystyrene            pvc            grand_total      
##  Min.   :   0.00   Min.   :   0.000   Min.   :  0.0000   Min.   :    0.00  
##  1st Qu.:   0.00   1st Qu.:   0.000   1st Qu.:  0.0000   1st Qu.:    1.00  
##  Median :   0.00   Median :   0.000   Median :  0.0000   Median :    2.00  
##  Mean   :  10.19   Mean   :   2.197   Mean   :  0.3857   Mean   :   93.45  
##  3rd Qu.:   0.00   3rd Qu.:   0.000   3rd Qu.:  0.0000   3rd Qu.:    8.00  
##  Max.   :6046.00   Max.   :1390.000   Max.   :622.0000   Max.   :80570.00  
##   Nombre_even      Volontaires  
##  Min.   :  1.00   Min.   :   3  
##  1st Qu.:  4.00   1st Qu.: 190  
##  Median : 17.00   Median : 400  
##  Mean   : 24.11   Mean   :1477  
##  3rd Qu.: 32.00   3rd Qu.:2099  
##  Max.   :134.00   Max.   :6850
names(plastique)
##  [1] "Pays"           "Année"          "Source_plastic" "Cat_vide"      
##  [5] "hdpe"           "ldpe"           "Cat_autre"      "Polyester"     
##  [9] "Polypropylene"  "Polystyrene"    "pvc"            "grand_total"   
## [13] "Nombre_even"    "Volontaires"
dim(plastique)
## [1] 6826   14

Questions

1. Pour chaque type de plastique , quel est le pays qui en pollue le plus ?

Lancement de la library “ggplot2”

library(ggplot2)

hdpe

plastique %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= hdpe, y=Pays)+
  geom_bar(stat='identity' , fill="red")

=>Le nigéria a pollué le plus en hdpe

ldpe

plastique %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= ldpe, y=Pays)+
  geom_bar(stat='identity',fill="orange")

=> Le nigéria a pollué le plus en ldpe

Polyester

plastique %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= Polyester , y=Pays)+
  geom_bar(stat='identity', fill="purple")

=> Le nigéria a pollué le plus en Polyester

Polypropylene

plastique %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= Polypropylene , y=Pays)+
  geom_bar(stat='identity', fill= "dark green")

=> Les philippines ont polué le plus en Polypropylène

On peut aussi mettre comme filler la variable “Année” . De ce fait nous pourrons repondre à des questions tels ques :

  • Pour chaque pays , l’année où il a poluer le plus le type de plastique dont il est question.

Polystyrene

plastique %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= Polystyrene , y=Pays)+
  geom_bar(stat='identity',aes(fill= Année) )

on remarque que l’indonésie qui est au top du classement des pollueurs de polystyrène à beaucoup plus poluer en 2019 qu’en 2020.

pvc

plastique %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= pvc , y=Pays)+
  geom_bar(stat='identity',aes(fill= Année))

2. Quel pays a pollué le plus en plastique en générale en 2019 ?

plastique %>% 
  filter(Année=="2019") %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= grand_total, y=Pays)+
  geom_bar(stat='identity',aes(fill= Année))+labs(title = "Répartition de la pollution de plastique en 2019 ", x="Totale de plastique pollué") 

Le nigéria est le pays qui a le plus polluer en plastique en 2019

3. Quel pays a pollué le plus en plastique en générale en 2020 ?

plastique %>% 
  filter(Année=="2020") %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= grand_total, y=Pays)+
  geom_bar(stat='identity', aes(fill= Année))+labs(title = "Répartition de la pollution de plastique en 2020 ", x="Totale de plastique pollué") 

Le nigéria est le pays qui a le plus polluer en plastique en 2020

Ces deux questions précedentes nous permettent de répondre aussi à la question “quelle est l’année avec le plus de pollution en plastique ?”

A l’aide des plots , on peut direct nous référencer à l’échelle pour conclure qu’en 2019 , la pollution est monter d’un cran.

4. Combien y’a t’il d’évenements et de volontaires par an pour chaque pays ?

NBP<- plastique %>% 
    as_tibble() %>% 
    count(Pays,Année,Volontaires, Nombre_even)
kable(NBP)
Pays Année Volontaires Nombre_even n
Argentina 2019 243 4 275
Argentina 2020 9 24 226
Armenia 2020 6 2 2
Australia 2020 190 9 69
Bangladesh 2020 127 1 142
Benin 2020 458 2 2
Brazil 2020 78 4 22
Bulgaria 2020 50 7 15
Burkina Faso 2020 163 1 15
Canada 2020 13 3 43
Chile 2020 13 3 121
China 2020 2175 1 216
Colombia 2020 274 10 25
Denmark 2020 121 12 182
Ecuador 2020 22 4 11
El Salvador 2020 10 1 5
France 2020 15 3 41
Germany 2020 24 1 19
Ghana 2020 310 2 26
Greece 2020 73 2 8
Honduras 2020 12 1 2
India 2019 88 4 209
India 2020 353 56 348
Indonesia 2019 6850 32 636
Indonesia 2020 392 50 294
Ireland 2020 7 4 20
Italy 2020 154 3 16
Japan 2020 3 1 5
Kenya 2020 608 3 38
Kuwait 2020 3 1 19
Latvia 2020 5 1 71
Lithuania 2020 15 1 19
Malaysia 2020 370 35 207
Mexico 2020 83 32 59
Montenegro 2020 416 1 15
Netherlands 2020 5 1 11
Nigeria 2020 2099 18 335
NIGERIA 2019 1648 14 354
Peru 2020 45 2 23
Philippines 2019 3751 20 711
Philippines 2020 915 17 120
Portugal 2020 65 2 32
Romania 2020 7 1 4
Serbia 2020 13 1 9
Singapore 2020 4 1 8
Slovenia 2020 70 1 62
South Africa 2020 20 1 6
Spain 2020 284 11 21
Sri Lanka 2020 40 1 1
Switzerland 2020 540 18 97
Tanzania 2020 2719 15 21
Thailand 2020 337 9 59
Togo 2020 92 1 5
Tunisia 2020 49 2 9
Ukraine 2020 238 17 260
United Arab Emirates 2020 12 1 1
United Kingdom of Great Britain & Northern Ireland 2020 90 8 75
United States of America 2020 511 134 373
Vietnam 2019 400 4 678
Vietnam 2020 27 6 128
  NBP %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x=Pays , y=Volontaires)+
  geom_bar(stat='identity', fill="green")+coord_flip()+
    labs(title = "Répartition du nombre de volontaires par pays ") 

  NBP %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x=Pays , y=Nombre_even)+
  geom_bar(stat='identity', fill="dark green")+coord_flip()+
    labs(title = "Répartition du nombre d'évènements par pays ")

Création de la sous-table “NBP” contenant les variables “Pays”, “Année”, “Volontaires”et “Nombre_even” dans le but de simplifier la visualisation des réprésentations graphiques.

On peut donc répurérer facilement les résultats.

Les deux graphiques précédents permettre de repondre aux questions :

  • Quel est le pays avec le plus d’évènements ?
  • Quel est le pays avec le plus de volontaires ? -En quelle année, y’a t’il eu le plus de volontaires / évènements ?

5. Combien y’a t’il de sources de plastique pour chaque pays ?

NBS<- plastique %>% 

    as_tibble() %>% 
    count(Pays,Source_plastic) %>% 
    group_by(Pays)
NBS
## # A tibble: 6,668 x 3
## # Groups:   Pays [55]
##    Pays      Source_plastic            n
##    <chr>     <chr>                 <int>
##  1 Argentina 9 De Oro                  1
##  2 Argentina Aceitera Martinez S.A     1
##  3 Argentina Acivag                    1
##  4 Argentina Adidas                    1
##  5 Argentina AGD                       1
##  6 Argentina Agua Bes                  1
##  7 Argentina Agua De La Costa          1
##  8 Argentina Agua de las misiones      1
##  9 Argentina Agua De Las Misiones      1
## 10 Argentina Ala                       1
## # ... with 6,658 more rows

Cette question nous fait réalisée que la variable “Source_plastic” ne peut être d’une grande utilité dans le traitement de nos données au regard de son unicité. La sous-table créée servira à repondre à des questions comme “le nombre de source de plastique d’un pays”.

6.Pour quels pays avons-nous des données pour 2019 et 2020 ?

NBP %>% 
  filter(Année == "2019")
## # A tibble: 6 x 5
##   Pays        Année Volontaires Nombre_even     n
##   <chr>       <dbl>       <dbl>       <dbl> <int>
## 1 Argentina    2019         243           4   275
## 2 India        2019          88           4   209
## 3 Indonesia    2019        6850          32   636
## 4 NIGERIA      2019        1648          14   354
## 5 Philippines  2019        3751          20   711
## 6 Vietnam      2019         400           4   678
NBP %>%
  filter(Année == "2020")
## # A tibble: 54 x 5
##    Pays         Année Volontaires Nombre_even     n
##    <chr>        <dbl>       <dbl>       <dbl> <int>
##  1 Argentina     2020           9          24   226
##  2 Armenia       2020           6           2     2
##  3 Australia     2020         190           9    69
##  4 Bangladesh    2020         127           1   142
##  5 Benin         2020         458           2     2
##  6 Brazil        2020          78           4    22
##  7 Bulgaria      2020          50           7    15
##  8 Burkina Faso  2020         163           1    15
##  9 Canada        2020          13           3    43
## 10 Chile         2020          13           3   121
## # ... with 44 more rows
NBP %>% 
  filter(Pays=="Argentina" | Pays == "India" | Pays == "Indonesia" | Pays == "NIGERIA"| Pays == "Philippines" | Pays == "Vietnam")
## # A tibble: 11 x 5
##    Pays        Année Volontaires Nombre_even     n
##    <chr>       <dbl>       <dbl>       <dbl> <int>
##  1 Argentina    2019         243           4   275
##  2 Argentina    2020           9          24   226
##  3 India        2019          88           4   209
##  4 India        2020         353          56   348
##  5 Indonesia    2019        6850          32   636
##  6 Indonesia    2020         392          50   294
##  7 NIGERIA      2019        1648          14   354
##  8 Philippines  2019        3751          20   711
##  9 Philippines  2020         915          17   120
## 10 Vietnam      2019         400           4   678
## 11 Vietnam      2020          27           6   128

il n’y a seulement qu’en Argentine, en Inde, en Indonésie, aux Philippines et au Vietnam que nous avons des données sur les volontaires en 2019 ET en 2020. Etudions l’évolution du nombre de volontaires selon ces 5 pays.

7. Dans quel pays le taux de volontaires a augmenté de 2019 à 2020 ?

Raise1920 <- NBP %>% 
  group_by(Année) %>% 
  filter(Pays=="Argentina" | Pays == "India" | Pays == "Indonesia" | Pays == "Philippines" | Pays == "Vietnam") %>% 
  select(Pays, Année, Volontaires)

Raise1920 %>% 
  ggplot()+
  aes(x=Année, y=Volontaires, fill=Pays)+
  geom_col()+
  labs(title = "Distributions des volontaires sur 2019 et 2020") 

Il n’y a seulement qu’en Inde que le nombre de volontaires a augmenté.

8. Comment les evenements ont évolués entre 2019 et 2020 pour ces 5 pays?

NBP %>% 
  group_by(Année) %>% 
  filter(Pays=="Argentina" | Pays == "India" | Pays == "Indonesia" | Pays == "Philippines" | Pays == "Vietnam") %>% 
  select(Pays, Année, Nombre_even) %>% 
  ggplot()+
  aes(x=Année, y = Nombre_even, fill=Pays) +
  geom_col()+
  labs(title = "Evolution des évènements", x = "Année", y="Nombre d'évènements") 

Le nombre d’évènements de l’Argentine et de l’Inde ont fortement augementé, celui du Vietnam légèrement, tandis que ceux de l’indonésie et des Philippines ont legèrement diminué.

9. Comment la pollution a évolué entre 2019 et 2020 pour les 5 pays de la table Raise1920 ?

plastique %>% 
  group_by(Année) %>% 
  filter(Pays=="Argentina" | Pays == "India" | Pays == "Indonesia" | Pays == "Philippines" | Pays == "Vietnam") %>% 
  select(Pays, Année, grand_total) %>% 
  ggplot()+
(aes(x=Année, y = grand_total, fill=Pays))+
  geom_col()+
  labs(title = "Evolution de la pollution", x = "Année", y="degré de pollution") 

La pollution du Vietnam, des Philippines, de l’Indonésie et de l’Argentine à diminuée, tandis que celle de l’Inde à augmenté.

10. Quelle est la distribution de la variable “Pays” de la table Raise1920 sur le nombre de volontaires ?

 Raise1920 %>% 
  ggplot()+
  aes(x=Pays,y=Volontaires)+
 geom_boxplot(varwidth=T, colour="purple",fill="yellow")+
  labs(title = "Distribution des pays sur le nombre de volontaires") 

11. Pour chaque pays, quelle est la distributon de la variable “Volontaires” de la table Raise1970 ?

Raise1920 %>% 
  group_by(Pays) %>% 
  ggplot()+
  aes(x= Volontaires)+
 geom_density(aes(fill=Pays), alpha=0.8) +
  labs(title = "Distribution des volontaires") 

12. Y’aurait t’il une coorélation entre les volontaires et l’année de volontariat ?

Raise1920 %>% 
  ggplot( ) + 
  aes(x=Pays, y = Volontaires, colour=Année)+
  geom_point() + 
  geom_smooth(method="lm", se=F) 
## `geom_smooth()` using formula 'y ~ x'

On remarque que points sont biens distincts et donc par de corrélation entre les variables “Pays” et “Volontaires”.